package com.yutian.selfservice.support;

import com.github.pagehelper.Page;
import com.yutian.selfservice.support.api.ServiceGuideDetails;
import com.yutian.selfservice.support.mapper.ServiceGuideMapper;
import com.yutian.selfservice.support.utils.PageSupport;
import com.yutian.selfservice.support.utils.Result;
import com.yutian.selfservice.support.utils.ServiceType;
import com.yutian.selfservice.support.utils.SpringUtil;
import lombok.Data;

import java.util.List;

/**
 * 办事指南   列表查询对象
 */
@Data
public class ServiceGuide extends ListService {
    /**
     * 服务对象   法人1 自然人2
     */
    private String appoveObject;
    /**
     * 事项名称
     */
    private String eventName;
    /**
     * 数据来源  对应数据分片字段
     */
    private String source;
    /**
     * 办理机构  对应基本信息中联办机构字段
     */
    private String jointInfo;
    /**
     * 办理形式  对应基本信息表中办理形式
     */
    private String doThingType;
    /**
     * 事项类型：eventType   公共服务对应20
     */
    private String eventType;
    /**
     * 办理地址：	常规信息 实施清单服务信息办理地点
     */
    private String handlePlace;
    /**
     * 办理时间：	常规信息 实施清单服务信息办理时间
     */
    private String handleTime;
    /**
     * 咨询方式  常规信息 实施清单服务信息咨询方式
     */
    private String cousultingTelephone;
    /**
     * 投诉方式 常规信息 实施清单服务信息投诉方式
     */
    private String supervisoryTelephone;

//    @Override
//    public String getName() {
//        return this.eventName;
//    }
    @Override
    public Result query() {
        PageSupport.startPage(this);
        if (this.type.equals(ServiceType.PUBLIC_SERVICE)) {
            this.eventType = "20";
        }else{
            this.appoveObject = this.type.toString();
        }
        Page<ServiceGuide> list = (Page<ServiceGuide>) SpringUtil.getBean(ServiceGuideMapper.class).selectList(this);
        return Result.successPage(list);

    }

    @Override
    public List<? extends ListService> selectByIds(List<Long> ids) {
        return SpringUtil.getBean(ServiceGuideMapper.class).selectByIds(ids);
    }

    @Override
    public Result details() {
        ServiceGuideDetails details = new ServiceGuideDetails(this.getId()).details();
        return Result.success(details);
    }
}
